package cn.gov.pbc.gd.credit.core.service.inquiry;

import javax.servlet.http.HttpServletRequest;

import com.liu.jbase.ResultVo;
import com.liu.jbase.service.IBaseService;

import cn.gov.pbc.gd.credit.vo.center.query.ReqCCCreditReportVo;
import cn.gov.pbc.gd.credit.vo.center.query.ReqSecondStepVo;
import cn.gov.pbc.gd.credit.vo.center.query.ResCCApplyTblVo;
import cn.gov.pbc.gd.credit.vo.center.query.ResCCCreditReportVo;
import cn.gov.pbc.gd.credit.vo.center.query.ResCCJusticeVo;
import cn.gov.pbc.gd.credit.vo.inquiry.InquiryVo;
import cn.gov.pbc.gd.credit.vo.inquiry.ResInquiryVo;
import cn.gov.pbc.gd.credit.vo.inquiry.agent.AgentVo;
import cn.gov.pbc.gd.credit.vo.inquiry.apply.ApplyTblVo;
import cn.gov.pbc.gd.credit.vo.inquiry.apply.ResApplyTblVo;
import cn.gov.pbc.gd.credit.vo.inquiry.justice.JusticeVo;

public interface IInquiryService extends IBaseService<ResInquiryVo, InquiryVo>{

	/**
	 * @author liuxingmi
	 * @datetime 2017年6月7日 下午4:58:20
	 * @desc 代理查询添加
	 * @param record
	 * @param request
	 * @return ResultVo<ResInquiryVo>
	 */
	public ResultVo<ResInquiryVo> addAgent(AgentVo record, HttpServletRequest request);
	
	/**
	 * @author liuxingmi
	 * @datetime 2017年6月7日 下午4:58:52
	 * @desc 司法查询
	 * @param record
	 * @param request
	 * @return ResultVo<ResCCJusticeVo>
	 */
	public ResultVo<ResCCJusticeVo> addJustice(JusticeVo record, HttpServletRequest request);
	
	/**
	 * @author liuxingmi
	 * @datetime 2017年6月9日 上午10:46:42
	 * @desc 获取申请表
	 * @param vo
	 * @param request
	 * @return ResultVo<ResCCApplyTblVo>
	 */
	public ResultVo<ResCCApplyTblVo> toApplyTbl(ReqSecondStepVo vo, HttpServletRequest request);
	
	/**
	 * @author liuxingmi
	 * @datetime 2017年6月10日 下午1:04:25
	 * @desc 查询征信报告
	 * @param vo
	 * @param request
	 * @return ResultVo<ResCCCreditReportVo>
	 */
	public ResultVo<ResCCCreditReportVo> creditReport(ReqCCCreditReportVo vo, HttpServletRequest request);
	
	/**
	 * @author liuxingmi
	 * @datetime 2017年6月11日 上午11:26:36
	 * @desc 打印报告
	 * @param inquiryVo
	 * @param request
	 * @return ResultVo<ResInquiryVo>
	 */
	public ResultVo<ResInquiryVo>  printReport(InquiryVo inquiryVo, HttpServletRequest request);
	
	/**
	 * 修改申请表
	 * @param vo
	 * @param request
	 * @return
	 */
	public ResultVo<ResApplyTblVo> updateApplyTbl(ApplyTblVo vo, HttpServletRequest request);
	
	/**
	 * 查询申请表
	 * @param vo
	 * @param request
	 * @return
	 */
	public ResultVo<ResApplyTblVo> findApplyTbl(ApplyTblVo vo, HttpServletRequest request);
	
	/**
	 * @datetime 2017年10月9日 上午10:20:53
	 * @author liuxingmi
	 * @desc 检测当天查询次数是否超限
	 * @param vo
	 * @param request
	 * @return ResultVo<Boolean>
	 */
	public ResultVo<Boolean> checkLimitQuery(InquiryVo vo, HttpServletRequest request);
	
	/**
	 * @author liuxingmi
	 * @datetime 2017年6月7日 上午10:57:50
	 * @desc 补打征信报告
	 * @param vo
	 * @param request
	 * @return ResultVo<ResCCCreditReportVo>
	 */
	public ResultVo<ResCCCreditReportVo> againPrintReport(ReqCCCreditReportVo vo, HttpServletRequest request);
}
